#pragma once
#include "Globals.h"

#define ON true
#define OFF false

// Moved this outside of the graphics class for easier melding with the player
//
// Controls a light that is defined by the class that manages it. Because of this class, adding
// lights to the game is simpler than having to always deal with graphics directly.
class LightObject
{
private:
	D3DLIGHT9	m_Light;
	bool		State;
	DWORD		m_Index;
public:
	LightObject():State(true),
					m_Index(0)
	{}
	bool Init(IDirect3DDevice9* Device,eAllLights Light);
	//Defines the lights ID
	bool SetLight(IDirect3DDevice9* Device,eAllLights Light);
	//Modifies the position
	bool MoveLight(D3DXVECTOR3 P);
	bool MoveLight(float x,float y,float z);
	//Used by the owner of the class to tell graphics whether to use this light or not
	bool LightSwitch(bool Flip);
	bool TurnUp(float Intensity);
};